tsteven4 [Sat, 29 Apr 2023 13:11:34 +0000 (07:11 -0600)]
remove C style legacy time from sbn format. (#1096)
tsteven4 [Sat, 29 Apr 2023 12:25:11 +0000 (06:25 -0600)]
remove remnants of baroiq format. (#1095)
aka brauniger_iq.
tsteven4 [Fri, 28 Apr 2023 21:37:54 +0000 (15:37 -0600)]
set timespec to UTC in new skytraq code. (#1094)
I wish Qt would default to UTC instead of Local Time!
tsteven4 [Fri, 28 Apr 2023 21:09:21 +0000 (15:09 -0600)]
move skytraq away from C style legacy time. (#1092)
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
tsteven4 [Fri, 28 Apr 2023 20:44:28 +0000 (14:44 -0600)]
finish removing C style legacy time from navilink. (#1093)
coverage is provided by sbp test.
tsteven4 [Fri, 28 Apr 2023 18:27:11 +0000 (12:27 -0600)]
move navilink towards QDateTime (#1091)
* enable navilink waypoint write test.
add rounding for round trip fidelity.
the track test has more serious mismatches.
* move navilink towards QDateTime.
reading the datalog is untested and still uses the legacy C-style
date and time library.
* use binary mode in navilink writer.
tsteven4 [Fri, 28 Apr 2023 16:13:29 +0000 (10:13 -0600)]
C-style date and time -> QDateTime in wbt format. (#1090)
* test wbt timestamps.
* C-style date and time -> QDateTime in wbt format.
tsteven4 [Fri, 28 Apr 2023 13:57:14 +0000 (07:57 -0600)]
use Qt datetime when writing gdb header. (#1089)
* use Qt datetime when writing gdb header.
* fiddle with comment on gdb header history.
tsteven4 [Wed, 26 Apr 2023 23:02:18 +0000 (17:02 -0600)]
add gnu attributes to addtional printf like functions (#1088)
* add gnu attribute for format string checks on additional functions.
* silence msvc whining about unknown attributes.
In c++17 unknown attributes should be ignored without causing an error.
But these warnings are excessive:
"warning C5030: attribute 'gnu::format' is not recognized"
tsteven4 [Wed, 26 Apr 2023 17:21:59 +0000 (10:21 -0700)]
add build date from CI. (#1087)
tsteven4 [Tue, 25 Apr 2023 21:15:47 +0000 (15:15 -0600)]
reorg trackfilter.h (#1086)
and fix some related
cppcoreguidelines-macro-usage
modernize-return-braced-init-list
tsteven4 [Tue, 25 Apr 2023 20:30:42 +0000 (14:30 -0600)]
hide inifile_t from users (#1085)
* hide inifile_t from users.
* explicitly make vars have internal linkage
although since c++11 all vars declared in unnamed namespaces will
anyway.
積丹尼 Dan Jacobson [Tue, 25 Apr 2023 05:20:33 +0000 (13:20 +0800)]
Forgot "name" (#1081)
Or maybe use capitals:
"Latitude, Longitude, Name"
I am guessing that Name is correct.
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
積丹尼 Dan Jacobson [Tue, 25 Apr 2023 02:00:53 +0000 (10:00 +0800)]
-x arc: Mention output is reordered! (#1082)
The output isn't simply filtered, but also reordered!
tsteven4 [Sun, 23 Apr 2023 21:25:58 +0000 (15:25 -0600)]
modernize garmin_txt (#1080)
* modernize garmin_txt string handling.
also:
wean from strupper.
test binding fields to the headers in the reader.
test the writer.
* demacro garmin_txt
* eliminate redundant assignments
* astyle
* use containers for garmin_txt mapping info.
* garmin_txt reader warn on unrecognized header
and retire memset.
* use some bools, change parse_date_and_time signature.
tsteven4 [Sun, 23 Apr 2023 20:41:29 +0000 (14:41 -0600)]
fix some readability-implict-bool-conversion tidy warnings (#1072)
* fix some readability-implicit-bool-conversion
warnings from clang-tidy
* another implicit bool
* fix tidy modernize-use-auto
* fix google-readability-namespace-comments
tsteven4 [Sun, 23 Apr 2023 20:17:25 +0000 (14:17 -0600)]
struct tm -> std::tm, memset of tm goes to {} (#1079)
* struct tm -> std::tm, memset of tm goes to {}.
* init std::tm related variables.
tidy found found the following warnigns related to our usage of
std::tm:
cppcoreguidelines-pro-type-member-init
and std::tm*:
cppcoreguidelines-init-variables
* make GPS_D600_Get var tm automatic storage duration
and intialize it.
tsteven4 [Sat, 22 Apr 2023 15:25:36 +0000 (09:25 -0600)]
gb_[set|get]bit -> std::bitset (#1078)
tsteven4 [Fri, 21 Apr 2023 21:36:38 +0000 (15:36 -0600)]
fix kml cppcheck warnings. (#1077)
Operator '|' with one operand equal to zero is redundant.
tsteven4 [Fri, 21 Apr 2023 19:04:44 +0000 (13:04 -0600)]
fix some MISRA 20.7 warnings (#1076)
* fix some cppcheck warnings MISRA 20.7
and use QStringView in gdb writer routines.
* migrate gdb macros to static constexpr.
* name gdb constants per google style guidelines.
tsteven4 [Fri, 21 Apr 2023 15:51:54 +0000 (09:51 -0600)]
keep gdb route point names and waypoint names aligned. (#1075)
This used to work in 1.4.4, but stopped working with the conversion
to QString (NEW_STRINGS).
Add a test case to verify the names match.
tsteven4 [Fri, 21 Apr 2023 00:07:54 +0000 (18:07 -0600)]
introduce route_head::empty() (#1074)
tsteven4 [Thu, 20 Apr 2023 19:21:41 +0000 (13:21 -0600)]
exercise qt 6.5.0 on macos CI (#1073)
tsteven4 [Wed, 19 Apr 2023 00:44:22 +0000 (18:44 -0600)]
fix cppcheck constVariable warnings (#1070)
* fix cppcheck constVariable warnings.
* guard against qt container detachement.
tsteven4 [Sun, 16 Apr 2023 15:32:46 +0000 (09:32 -0600)]
use c++ style attribute syntax with gnu namespace. (#1069)
* use c++ style attribute syntax with gnu namespace.
cppcheck 2.10.3 seems to have difficulty combining c++ style
attributes like [[noreturn]] with gnu __attribute__ syntax.
this leads to lots of false positive [nullPointerRedundantCheck]
warings.
I have a feeling I did this before and it failed somewhere. Perhaps
our compilers are all ready for it now.
* fix 7 real nullPointerRedundantCheck warnings.
and
7 nullPointerArithmeticRedundantCheck warnings
1 redundantInitialization warning
1 unreadVariable warning
* fix 1 nullPointerRedundantCheck.
A more involved fix would be to pass a reference to a non-const
parameter to mkshort_del_handle to be used as an in-out parameter.
* fix 1 nullPointerRedundantCheck
* workaround cppcheck bug with noretun.
tsteven4 [Fri, 14 Apr 2023 13:57:20 +0000 (07:57 -0600)]
de-duplicate format and filter vector display code. (#1068)
* de-duplicate format and filter vector display code.
* consolidate release of argument memory in vecs, filter_vecs.
tsteven4 [Thu, 13 Apr 2023 21:33:18 +0000 (15:33 -0600)]
add support for dynamic filters (#1008)
* support dynamic filters.
* delete static ResampleFilter.
* make some more filters dynamic.
* parrot Vecs::find_vec in FilterVecs::find_filter_vec.
---------
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
tsteven4 [Thu, 13 Apr 2023 01:33:27 +0000 (19:33 -0600)]
use constexpr if for trackfilter debug (#1067)
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
Robert Lipe [Thu, 13 Apr 2023 01:26:10 +0000 (20:26 -0500)]
reference/paris.wpo was part of Holux-gm100 and no longer needed.
GPSBabel [Thu, 13 Apr 2023 00:35:51 +0000 (19:35 -0500)]
Remove holux gm-100 format. (#1065)
Following through with plan announced Feb 28, 2022.
This was a serial unit from the turn of the century. Holux is out of business.
We've done nothing but mechanical maintenance on this format for years.
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
GPSBabel [Thu, 13 Apr 2023 00:35:23 +0000 (19:35 -0500)]
Removing baroiq and cambridge formats. (#1066)
* Remove Cambridge and Baroiq formats as per Feb 28 RFC.
Robert Lipe [Wed, 12 Apr 2023 22:51:17 +0000 (17:51 -0500)]
Make locale debugging a compile-time constexpr debug instead of #ifdef. (#1011)
* Make locale debugging a compile-time constexpr debug instead of #ifdef.
* Ignore *.a in git so a branch change work more effortlessly on MacOS. (Yeah, not part of this CL...)
Co-authored-by: GPSBabel <12013583+GPSBabelDeveloper@users.noreply.github.com>
積丹尼 Dan Jacobson [Wed, 12 Apr 2023 22:47:46 +0000 (23:47 +0100)]
Update interpolate-time.xml (#1021)
Important to explicitly show fractional seconds are OK.
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
積丹尼 Dan Jacobson [Wed, 12 Apr 2023 22:46:55 +0000 (23:46 +0100)]
Update interpolate-distance.xml (#1022)
#1021 we gave sub-second time examples. So we had better give sub-mile distance examples too!
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
Robert Lipe [Wed, 12 Apr 2023 22:24:32 +0000 (17:24 -0500)]
Make track filter debugging an internal compile-time consant. (#1012)
積丹尼 Dan Jacobson [Wed, 12 Apr 2023 21:40:42 +0000 (22:40 +0100)]
Nobody says it the time is "12:3:3", they say 12:03:03 (#1044)
There are also additional bad / non-realistic examples on this page which I didn't correct, but you should.
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
PacketFiend [Wed, 12 Apr 2023 12:51:32 +0000 (08:51 -0400)]
#1062 Fix core dump when merging tracks with disparate IGC extensions (#1063)
* #1062 Fix core dump when merging tracks with disparate IGC extensions
* Reduce `value` variable scope when writing SimpleArrays
* Debug oopsie bugfix, fix core dump when merging IGC files with no extensions
* Collapse redundant if statement
* Fix brain fart
* Eliminate igc_fsdata::has_value()
PacketFiend [Thu, 6 Apr 2023 13:58:45 +0000 (09:58 -0400)]
Extract engine noise from IGC, add to KML multipath (#1054)
* Extract engine noise from IGC, add to KML multipath
* Add IGC tests and test files
* Fix kml test suite for extension data.
Note that reference file are stripped of creation times.
* Better way to figure out which extensions are present?
* New IgcMetaData and ExtensionDefinition classes
* Lots of new extensions
* This looks like a better way...
* Minor cleanup
* Dead code removal
* Update IGC->KML reference KML files
* Replace QHash with QList, eliminate evil if ladders
* Many small improvements and cleanups
* Many small improvements and cleanups
* Precision loss fixes, igc_fsdata now templated
* More precision fixes, less templating
* format with astylerc options.
* delete unused include
* convert KmlFormat::wp_field to scoped enum.
* add missed file with scoped enum refatoring changes.
---------
Co-authored-by: Robert Lipe <robertlipe@gmail.com>
Co-authored-by: tsteven4 <13596209+tsteven4@users.noreply.github.com>
GPSBabel [Wed, 5 Apr 2023 12:17:16 +0000 (07:17 -0500)]
Disallow 'fields' when writing unicsv (#1059)
This closes https://github.com/GPSBabel/gpsbabel/issues/1042
tsteven4 [Fri, 31 Mar 2023 16:56:57 +0000 (10:56 -0600)]
At Qt6 build to Fedora CI (#1058)
* add Qt6 build to fedora 37
fedora finally provides Qt6 QWebEngine.
* and library for Qt6 find_package.
this prevents a cmake generation warning about xkb.
tsteven4 [Fri, 31 Mar 2023 16:37:08 +0000 (10:37 -0600)]
use 6 digits after the decimal point for osm_name_from_wpt. (#1053)
I beleive this restores the behavior from before commit
4673a25,
August 4, 2013.
This should resolve #1047.
tsteven4 [Wed, 15 Mar 2023 12:12:51 +0000 (06:12 -0600)]
support millisecond track moves (#1036)
* support millisecond track moves
* add another position to track move option.
tsteven4 [Tue, 14 Mar 2023 15:10:41 +0000 (09:10 -0600)]
avoid sed encoding issues with dop filter test. (#1037)
Qt 6.5.0 beta is generating warnigs due to
https://github.com/qt/qtbase/commit/
fff9395c2899841bdca07f400392595963d9ff93
Detected system locale encoding (ANSI_X3.4-1968, locale "C") is not UTF-8.
Qt shall use a UTF-8 locale ("C.UTF-8") instead. If this causes problems,
reconfigure your locale. See the locale(1) manual for more information.
tsteven4 [Mon, 13 Mar 2023 17:37:19 +0000 (11:37 -0600)]
document spelling fixes. (#1035)
* document spelling fixes.
and deciphering of the arc filter project option interpolation.
* improve line break insertion in build table.
* reword some option documentation.
* whitespace
tsteven4 [Sat, 11 Mar 2023 18:14:29 +0000 (11:14 -0700)]
enhance exif subsecond and offset handling. (#1033)
* enhance exif subsecond and offset handling.
* don't warn for legal empty offset tags.
tsteven4 [Sat, 11 Mar 2023 15:26:55 +0000 (08:26 -0700)]
document fixes (#1034)
* fix lowrancusr document
with fop we got a bunch of warnings:
... exceed the available area in the inline-progression direction ...
spelling
* add USES_TERMINAL for docs so we get output as the doc generates.
Robert Lipe [Sat, 11 Mar 2023 01:13:28 +0000 (19:13 -0600)]
Merge branch 'master' of https://github.com/GPSBabel/gpsbabel
Robert Lipe [Sat, 11 Mar 2023 01:12:19 +0000 (19:12 -0600)]
Make single arg ctor for UrlLink explicit
tsteven4 [Tue, 7 Mar 2023 20:32:44 +0000 (13:32 -0700)]
don't create fictious course and speed values. (#1031)
We compute coures and speed in track_recompute, which is used
by the kml and gtrnctr writers. We also compute these in the track
filter with the course speed options.
Both of these algorithums compute the course and speed for a point
based on the time and position of that point and a previous point.
Given that no information from the future is used, the course and
speed of the first point cannot be determined. This PR introduces
a change so a fictious value for the first point is not generated.
tsteven4 [Tue, 7 Mar 2023 17:24:56 +0000 (10:24 -0700)]
use jfrog docker repo and ninja for codeql. (#1030)
tsteven4 [Tue, 7 Mar 2023 15:22:03 +0000 (08:22 -0700)]
remove some orphan gpssim reference files. (#1029)
* remove some orphan gpssim reference files.
* remove another orphan.
tsteven4 [Tue, 7 Mar 2023 14:32:59 +0000 (07:32 -0700)]
support subsecond resolution for trackfilter start/stop options. (#1026)
* support subsecond resolution for trackfilter start/stop options.
* de-ickify track filter start/stop implementation.
Robert Lipe [Tue, 7 Mar 2023 02:47:51 +0000 (20:47 -0600)]
Remove gpssim formet per 02/28/2022 proposal. (#1028)
積丹尼 Dan Jacobson [Tue, 7 Mar 2023 01:20:57 +0000 (09:20 +0800)]
Clarify how to write feet in fmt_unicsv (#1018)
* Clarify how to write feet
For #1015.
By the way e.g., "height" oddly only mentions meters so I do the same.
* tweak unicsv keywords for feet.
---------
Co-authored-by: Robert Lipe <robertlipe@users.noreply.github.com>
Co-authored-by: tsteven4 <13596209+tsteven4@users.noreply.github.com>
tsteven4 [Tue, 7 Mar 2023 00:27:02 +0000 (17:27 -0700)]
wrap long lines in verbatim elements, such as screen. (#1027)
The use of inline.boldmonoseq on verbatim elements such as screen
results in a lose of the line endings. This makes it impossible to
differentiate items in what might have better been a list. However,
if the line in the screen element is too long it will be trucated.
Use the monospace.verbatim.property wrap-option to wrap any such lines.
An example that illustrates the problems is the list of keywords in the
unicsv format.
tsteven4 [Mon, 6 Mar 2023 14:12:58 +0000 (07:12 -0700)]
correct input validation for interpolate time option. (#1025)
* fix input validation on interpolate time option.
* update filter info for interpolate time option.
Robert Lipe [Fri, 3 Mar 2023 11:29:23 +0000 (05:29 -0600)]
Make Navilink debugging runtime selectable. (#1013)
Robert Lipe [Fri, 3 Mar 2023 07:56:36 +0000 (01:56 -0600)]
Work on grtcrc to be a little more functional and C++ style. (#1007)
tsteven4 [Mon, 20 Feb 2023 15:05:24 +0000 (08:05 -0700)]
add support for dynamic formats (#1005)
* de-duplicate format setup in find_vec
* create a class to pass format info pack and forth from vecs.
This simplifies re-initialization of a format, which main already
did in a few cases.
The operator overloads for the format info class make the transition
simplier.
* return empty braced init list from find_vecs when not found.
* dynamic format checkpoint.
* delete static GeoFormat instance.
* support dynamic xcsv format.
allow dynamic formats to use rd_init, rd_deinit, wr_init, wr_denint.
This makes conversion to dynamic formats easier as we can, but aren't
forced to move the old init/deinit code.
Often rd/wr_init is intertwined with rd/wr_posn_init.
use dynamic xcsv format.
fix undiscovered bug releated to option order. We assumed an order
of -i -f -o -F, but -i -o -f -F can cause errors if both formats
are style based.
test for above bug added to iblue747.test.
* add missing reference
* use template for format factories.
* correct vecs includes
* fix another filename parameter for positional args issue.
* make Vecs::prepare_format static.
* move prepare_format call to just before xxx_init
for both static and dynamic formats.
GPSBabel [Sat, 18 Feb 2023 17:39:15 +0000 (11:39 -0600)]
Remove remaining callers and definition of rtrim. (#1001)
Remove remaining callers and definition of rtrim.
* Minor CV-qualifier battle in jeeps for const correctness.
* Adds a (hacky) bash script to compile mkshort as a standalone binary for
development and testing for upcoming overhaul.
---------
Co-authored-by: Robert Lipe <robertlipe@gmail.com>
積丹尼 Dan Jacobson [Mon, 13 Feb 2023 14:00:20 +0000 (22:00 +0800)]
Update gpsbabel_man.xml (#1003)
Fix critical mistake, overlooked for years.
(Sure hope I am editing the real source file.
There is no warning at the top of this file that it is machine generated.)
tsteven4 [Wed, 8 Feb 2023 15:34:41 +0000 (08:34 -0700)]
de-duplicate format setup in find_vec (#997)
* de-duplicate format setup in find_vec
* create a class to pass format info pack and forth from vecs.
This simplifies re-initialization of a format, which main already
did in a few cases.
The operator overloads for the format info class make the transition
simplier.
* return empty braced init list from find_vecs when not found.
Robert Lipe [Wed, 8 Feb 2023 06:49:28 +0000 (00:49 -0600)]
Remove ltrtim(). No callers remain.
tsteven4 [Sat, 28 Jan 2023 13:00:06 +0000 (06:00 -0700)]
create wpts from kml placemark/multigeometry/points. (#999)
amazingly enough earth offered up a kml from a search and we
couldn't recover the point.
tsteven4 [Fri, 27 Jan 2023 13:48:04 +0000 (06:48 -0700)]
convert geo to Format class. (#998)
This also adds the encoding attribute to the xml declaration.
This also starts the loc element at the beginning of a line.
Previously we jumped through some hoops to avoid the above two
changes so we could exaclty match the original reference file.
We also pass the writer to the waypt_disp_all callback via a lambda.
This allows the output File and QXmlStreamWriter to be local which
simplified cleanup.
tsteven4 [Thu, 26 Jan 2023 14:53:14 +0000 (07:53 -0700)]
convert igc to Format class. (#996)
and fix a few bugs.
tsteven4 [Tue, 24 Jan 2023 14:19:25 +0000 (07:19 -0700)]
eliminate use of time_t etc in igc. (#995)
tsteven4 [Sun, 22 Jan 2023 16:17:35 +0000 (09:17 -0700)]
eliminate some time_t uses. (#994)
* eliminate some time_t uses.
* whittle down time_t
* move some gpi time handling to Qt.
* drop include comment on defs.h
tsteven4 [Fri, 20 Jan 2023 18:14:35 +0000 (11:14 -0700)]
use bool type (#992)
* use bools instead of ints.
* another bool parameter.
tsteven4 [Wed, 18 Jan 2023 16:58:48 +0000 (09:58 -0700)]
Enable the gpx reader to use the declared namespace prefixes for recognized namespace URIs. (#990)
* use the declared ns prefixes in the gpx reader.
* remap other used uris, even though we have never
seen a different prefix used with them.
delete GARMIN_RTEPT_EXT, which was never used and appears to have
never existed.
積丹尼 Dan Jacobson [Tue, 17 Jan 2023 20:42:51 +0000 (04:42 +0800)]
Update trackfilter.h (#987)
* Update trackfilter.h
Also mention exact matching timestamps. Proven by
https://github.com/GPSBabel/gpsbabel/issues/981#issuecomment-
1380515460
* update reference files for changed help text.
and fiddle help text
Co-authored-by: tsteven4 <13596209+tsteven4@users.noreply.github.com>
tsteven4 [Tue, 17 Jan 2023 20:14:33 +0000 (13:14 -0700)]
macOS brew install fix (#986)
* optimize brew install time.
* try skipping brew update to speed up install
* is jing-trang really the problem?
* skip relink step
* avoid brew python link issues and dependency upgrades.
This cuts the brew install time down about 10x.
tsteven4 [Sat, 14 Jan 2023 12:53:25 +0000 (05:53 -0700)]
fix kml balloon trailing space (#984)
* kill trailing space in kml popup balloons.
* fix old FIXME with end document
that requires regeneration of references.
The change in LineStyles.kml is different handling of a vertical
tab. This changed when we let Qt cleanup illegal xml characters
long ago.
積丹尼 Dan Jacobson [Thu, 12 Jan 2023 15:43:46 +0000 (23:43 +0800)]
Update kml-prec.xml (#979)
* Update kml-prec.xml
I am guessing, based on the same sentence in gpx-elevprec.xml, what you meant to say.
* correct description of kml prec option.
Co-authored-by: tsteven4 <13596209+tsteven4@users.noreply.github.com>
積丹尼 Dan Jacobson [Thu, 12 Jan 2023 14:13:40 +0000 (22:13 +0800)]
Update kml.xml (#980)
Fix typo.
tsteven4 [Wed, 11 Jan 2023 18:49:06 +0000 (11:49 -0700)]
eliminate some uses of xstrdup/xstrndup. (#977)
and fix another related memory leak!
tsteven4 [Sun, 8 Jan 2023 15:52:06 +0000 (08:52 -0700)]
remove some unused code. (#976)
tsteven4 [Sat, 7 Jan 2023 15:18:02 +0000 (08:18 -0700)]
mimic std::optional for flagged Waypoint fields. (#975)
* mimic std::optional for flagged Waypoint fields.
* manual adjustments to waypt access usage.
* split optional Waypoint flags, tune packing.
* bring op_flags into Waypoint.
* add comments about future Waypoint optional fields.
* sort Waypoint class almost normally.
private members refered to with decltype need to be defined
before they are referred to.
* remove extra parens around *has_value().
* remove extra parens around *value_or().
* remove more extra parens.
tsteven4 [Fri, 6 Jan 2023 17:05:50 +0000 (10:05 -0700)]
another use of potentially invalid waypt field. (#974)
* another use of potentially invalid waypt field.
* fix erroneous comparison of optional waypt values.
tsteven4 [Fri, 6 Jan 2023 14:03:26 +0000 (07:03 -0700)]
fix errors handling optional Waypoint fields. (#948)
* fix errors handling optional Waypoint fields.
1. Hide wp_flags from formats by using WAYPT_SET.
2. Don't print values corresponding to Waypoint fields that aren't
valid.
a) if the field uses wp_flags, then the flag must be set.
b) power, cadence heartrate must not be zero.
This is in anticipation of use of std::optional instead of wp_flags
to indicate an optional value is present.
The use of invalid power, cadence, and heartrate values was found
fortuitously.
Note this changes kml output, using empty gx:value elements to
correspond to missing data. gx:value elements are of type
string, the empty string do not violate the schema (unlike empty
when elements). However, it is unclear who is using this extra
SchemaData so we cannot check to make sure they acutally handle
empty string values.
* don't use WAYPT_HAS with wp_flags that aren't optionals.
* fix some bugs with our home grown optionals.
mostly not using WAYPT_SET resulting in the value being lost.
tsteven4 [Fri, 6 Jan 2023 13:32:51 +0000 (06:32 -0700)]
remove encoding, fixed encoding data from formats. (#973)
tsteven4 [Fri, 6 Jan 2023 12:56:06 +0000 (05:56 -0700)]
remove remaining shadows of cet (#971)
* wean garmin_gpi from global_opts.codec and cet.
* wean garmin from global_opts.codec and cet.
* remove cet
* don't include deprecated includes, no global codec.
* fix garmin includes
* fix up comment indicating garmin encoding issues.
* fiddle with encoding functions.
* change get_codec signature.
* trailling white space
tsteven4 [Mon, 2 Jan 2023 19:56:02 +0000 (12:56 -0700)]
enforce exclusivity among sort options (#970)
* enforce exclusive sort options.
* use default brace inits for sort members.
tsteven4 [Mon, 2 Jan 2023 18:11:23 +0000 (11:11 -0700)]
modernize units (#969)
* modernize units
fmt_* returns a std::pair of the value and the units.
use structured binding to unpack the pair.
use scoped enumeration for the units system.
* make units formatter a class.
* cleanup unitsformatter instance.
tsteven4 [Mon, 2 Jan 2023 17:30:56 +0000 (10:30 -0700)]
Make geocache a real class. (#968)
tsteven4 [Sat, 31 Dec 2022 12:27:50 +0000 (05:27 -0700)]
fix clang diagnostic cast-qual (#967)
* fix cast-qual clang diagnostic
* use const_cast to cheat
* decay an array with casts.
the assembly code for gpsusbwin and gpsusbcommon does match the master branch.
* explicitly use const with auto*
tsteven4 [Fri, 30 Dec 2022 21:33:14 +0000 (14:33 -0700)]
use enums for mutually exclusive options in simplify filter (#966)
* clean up simplify options
* tweak names
* fiddle with simplify test trying to be plaform neutral.
* use stable sort when testing simplify filter
for cross platform matching.
tsteven4 [Thu, 29 Dec 2022 19:47:11 +0000 (12:47 -0700)]
odds and ends (#964)
* odds and ends
support subseconds in exif GPSTimeStamp. While rare, some devices
provide subsecond information.
add missing include guards.
use cmake for mkicondoc, retiring the last qmake build.
provide default initializers for a couple of data members.
kill some empty statements.
* Dont' use case_ignore_strcmp for two QStrings.
tsteven4 [Thu, 29 Dec 2022 19:02:28 +0000 (12:02 -0700)]
Use QString::compare(QStringView, Qt::CaseSensitivity) (#965)
* use QString::compare(QString, Qt::CaseSensitivity)
instead of case_ignore_strcmp with a QString and a character
literal.
* use QString::compare(QStringView, Qt::CaseSensitivity)
instead of QString::compare(QLatin1String, Qt::CaseSensitivity).
* compare QStrings to character literals instead of string literals that only contain one character.
tsteven4 [Thu, 29 Dec 2022 14:54:42 +0000 (07:54 -0700)]
move gbfile.h, zlib.h out of defs.h. (#963)
* move gbfile.h, zlib.b out of defs.h.
* fix comment
tsteven4 [Wed, 28 Dec 2022 23:41:04 +0000 (16:41 -0700)]
cleanup datum lookup & constants (#962)
* cleanup datum lookup
* use constexpr for datum contstants
Robert Lipe [Wed, 28 Dec 2022 22:37:07 +0000 (16:37 -0600)]
Obsolete Magellan serial and SD formats (#961)
* Remove Magellan serial and SD formats. Two different polls (one on the list, one in groundspeak forums) have confirmed disuse.
Robert Lipe [Wed, 28 Dec 2022 06:22:37 +0000 (00:22 -0600)]
[WIP] Modernize garmin_txt Take the few remaining good ideas from https://github.com/GPSBabel/gpsbabel/pull/442 and merge them manually into the trunk. (#959)
* Modernize garmin_txt
Take the few remaining good ideas from
https://github.com/GPSBabel/gpsbabel/pull/442
and merge them manually into the trunk.
tsteven4 [Tue, 27 Dec 2022 13:34:03 +0000 (06:34 -0700)]
move xml tag utilities to xml_tag.cc (#960)
* move xml tag utilities to xml_tag.cc
they are already declared in src/core/xmltag.h
* move xml_tag.cc to src/core, where it's h file is.
* move global xml_tag routines into class.
* make xml_next non-static.
* make xml_findnext non-static.
* make xml_findfirst non-static
* make xml_attribute non-static
* eliminate some shadowing
* rename XmlTag class.
* retire fs_xml_alloc.
* use QStringView with XmlTag.
* back off QStringView for xml_attribute for Qt 5.
Robert Lipe [Thu, 22 Dec 2022 23:12:31 +0000 (17:12 -0600)]
Remove all uses of sprintf (#958)
Deprecate sprintf in favor of snprintf or QString::asprintf... This buys time until we have {fmt}
* remove unused bgr in tpo.cc
* more pruning of C-style constructs
* Remove unused lap code in Garmin
Unrelated, but required to build on Mac
* Apply Mac runner updates per active topics from runner images bugreports.
It's my belief there are transient problems in the GitHub-provided images (linked in this CL) but this bulletproofs our installation, so I'm rolling with it.
Robert Lipe [Thu, 22 Dec 2022 21:24:34 +0000 (15:24 -0600)]
Drop incomplete html_encrypt option in kml writer (#956)
tsteven4 [Fri, 2 Dec 2022 19:13:19 +0000 (12:13 -0700)]
add zlib license (#954)
tsteven4 [Fri, 2 Dec 2022 18:41:28 +0000 (11:41 -0700)]
get dependabot.yaml in correct location (#953)
tsteven4 [Fri, 2 Dec 2022 18:36:00 +0000 (11:36 -0700)]
add dependabot for github actions. (#952)
tsteven4 [Fri, 2 Dec 2022 18:07:32 +0000 (11:07 -0700)]
update zlib to 1.2.13. (#951)